草庐IT

ios - AFHTTPRequestOperation 超时

全部标签

Windows 在单独的线程上重叠 IO 与 IO

在Windows上,当您进行I/O时,您可以使用OVERLAPPED选项进行异步操作。这样做与在另一个线程上同步执行I/O之间有什么区别吗?如果是这样,哪个更好?操作系统是否只是在异步情况下产生一个单独的线程,或者它只是在驱动程序线程上排队并发送信号而不是阻塞等待?谢谢! 最佳答案 WindowsI/O本质上是异步的,因此在.NET中执行异步操作,例如shouldnotuseathread,一旦操作完成,一些现有线程会被短暂借用以通知操作完成,但不会创建任何线程。这与在另一个线程上运行同步操作完全不同。它用完了一个线程,这使得程序的

node.js - Node 套接字 IO 客户端 Windows 路径太长无法安装

我在尝试安装browsersync时遇到此错误。我无法靠近驱动器盘符来使这条路径适合,但无论哪种方式,这都是一个非常糟糕的问题。当我运行npminstall时,这个错误以红色出现。我应该担心吗?其他一切似乎都已正确完成。C:\ProgramFiles(x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppBuild.targets(308,5):errorMSB3491:Couldnotwritelinestofile"Release\obj\validation\validation.tlog\validation.lastbuildst

windows - 用于在 Windows 上监视单个文件 IO 性能的 API

我可以使用哪些WindowsAPI来监控特定文件或文件集的I/O性能指标?性能计数器似乎只提供更高级别的对象,例如LogicalDisk和PhysicalDisk。我正在寻找Windows资源监视器在磁盘->磁盘事件下使用的东西,即读/写bps和响应时间。 最佳答案 我快速搜索了“Perfmonindividualfiles”,没有看到任何有希望的东西。但我不确定衡量单个文件的性能是否有意义。I/O事件在I/O堆栈的多个位置合并,结果是操作系统在不同级别无法区分一个文件与另一个文件的文件I/O。假设应用程序本身没有进行任何缓冲/缓存

windows - Matlab加载函数超时

我想增加matlabload命令超时,因为我正在通过网络访问资源(在Windows上)。如前所述,默认值为10shere.如何实现?相关:Matlabreadfromfifowithfopentimeout 最佳答案 我认为增加超时时间很难实现,但是您有办法避免这个问题:先将文件复制到本地驱动器,然后加载它。速度可能会相同,但您不必处理超时。问题可能是由于您尝试加载的mat文件是使用压缩保存的。这将不允许Matlab开发您的连接的全部带宽。 关于windows-Matlab加载函数超时,

c++ - 创建附加到控制台但具有重定向标准 IO 句柄的进程

我有一个命令行应用程序,它根据用户提供的脚本执行其他程序。一些执行的子进程是cmd.exe运行各种.cmd脚本。一些.cmd脚本使用titleWindowsshell命令设置控制台窗口标题。这就是问题所在。如果用户请求记录子进程的输出,我使用标准句柄的管道来获取子进程的输出。然而,这似乎使子进程无法附加到我的应用程序运行所在的控制台,因此title命令停止工作,停止更改控制台窗口标题。是否可以创建一个具有重定向标准句柄但仍附加到父进程控制台的进程,以便title命令起作用? 最佳答案 显然,要将子进程附加到父控制台,所需要做的就是不

windows - WinSock recv() 超时 : setsockopt()-set value + half a second?

我正在编写一个跨平台库,它提供了一个套接字接口(interface),在运行我的单元测试套件时,我注意到通过setsockopt()设置的超时有一些奇怪的地方>:在Windows上,阻塞的recv()调用似乎始终比通过SO_RCVTIMEO选项指定的时间晚返回大约半秒(500毫秒)。我遗漏的文档中是否对此有任何解释?在网上搜索,我只能找到asingleotherreference问题–拥有»WindowsSockets的人可以吗BobQuinn和DaveShute的网络编程«帮我查找第466页?不幸的是,我现在只能运行我的测试WindowsServer2008R2,其他Windows版

windows - java.io.IOException : Not in GZIP format Exception 异常

我有一个使用PRIMEFACES3.3SNAPSHOT组件的JSF2.0(Trinidad)应用程序,我正在尝试使用p:schedule,但每次调用带有标签的页面时,我都会遇到异常。奇怪的是,当我使用没有特立尼达的普通JSF应用程序时,它可以正常工作。这是堆栈跟踪:`SEVERE:java.io.IOException:不是GZIP格式在java.util.zip.GZIPInputStream.readHeader(GZIPInputStream.java:137)在java.util.zip.GZIPInputStream.(GZIPInputStream.java:58)在org

c++ - 重新执行失败的 IO 操作是否有任何效果?

我在办公室遇到的一个常见模式是,如果我们的IO操作失败,我们会等待很短的时间并重试几次,希望它突然开始工作。我正在谈论的例子:boolWriteAFile(){uint32_twriteAttempts=0;do{if(WriteFile(/*...*/)){break;}Sleep(50);writeAttempts++;}while(writeAttempts我想象这种行为最初是为了防止在处理被另一个进程临时锁定的文件时出现故障......这在某种程度上是有道理的......但是,我看不出这如何适用于其他操作。以这种方式重复IO操作是否会增加将“好”数据写入磁盘的机会?可以将其用作

windows - 为什么另一个线程中的阻塞 IO 会阻止 CreateWindowEx() 返回

我有一个非常简单的Windows控制台应用程序,它首先创建一个线程来处理stdin上的输入。它使用main()中的CreateThread()创建线程,线程做的第一件事是调用getchar()并阻塞,等待。然后main()使用RegisterClass()注册一个窗口类,并调用CreateWindowEx()创建一个不可见的消息窗口。但是CreateWindowEx()永远不会返回。如果我删除线程中的getchar()并将其替换为while(1)Sleep(1000);,一切正常。如果我将Sleep(1000);添加到线程函数的开头,CreateWindowEx()调用会成功,但随后线

windows - 重叠套接字 IO : WSAGetOverlappedResult Fails with 996 Errorcode

我正在维护一个旧的Windows应用程序并且有一个我无法解决的问题。在新硬件上,在各种操作系统下,我们开始看到过去非常稳定的地方从未见过的错误。它打开一个UDP套接字并将其配置为广播UDP数据。然后它会传输数据。该代码使用重叠IO,因此它有一个线程在等待重叠IO事件的线程中等待。套接字是这样打开的://Createdatagramsocketif(!SocketDgCreate(&m_SDGScan,pstAppState->szScannerIP,(short)nPort)){StatusMessage(MSG_ERR,"socketcreatefailedon'%s'Port%u\